import axios from 'axios'
import { useQuery } from 'react-query'

async function fetchTodos () {
  try {
    return axios.get('/todos')
  } catch {
    throw new Error('服务端默认代办事项加载失败')
  }
}

export function useTodos () {
  return useQuery('todos', fetchTodos, {
    // retry: 2, //在请求发生错误时，默认会重试 3 次，如果请求还是不成功 `isError` 为真
    // refetchOnWindowFocus: false, //当浏览器窗口重新获取焦点时，重新向服务器端发送请求同步最新状态
    // enabled: false, //默认值为 true，即组件挂载完成后发送请求同步服务端状态
    // staleTime: 5000, //状态的保质期
    // placeholderData: [{ id: 1, title: '示例' }], //在服务端状态没有加载完成前，可以使用占位符状态填充客户端缓存
    // refetchInterval: 1000 //指定轮询的间隔时间，false 为不轮询
  })
}
